//
//  KZMessageOfSystemView.swift
//  BoyeStore
//
//  Created by 朱凯 on 2018/6/27.
//  Copyright © 2018年 itboye. All rights reserved.
//

import UIKit

class KZMessageOfSystemView: UITableView {
    
    var emptyView: KZMessageEmptyView! = nil
    var items: [String] = [] {
        didSet {
            self.reloadData()
            
            if items.count == 0 {
                self.backgroundView = emptyView
            } else {
                self.backgroundView = UIView()
            }
        }
    }
    
    convenience init() {
        self.init(frame: .zero, style: .plain)
        
        setupUI()
    }
}
extension KZMessageOfSystemView {
    
    override func layoutSubviews() {
        super.layoutSubviews()
        
        if emptyView == nil {
            emptyView = KZMessageEmptyView(frame: self.bounds, image: #imageLiteral(resourceName: "消息-空"), text: "当前没有消息")
        }
    }
    
    func setupUI() {
        
        self.backgroundColor = kBgColor
        self.estimatedRowHeight = 200
        self.rowHeight = UITableViewAutomaticDimension
        self.separatorStyle = .none
        self.tableFooterView = UIView()
        self.delegate = self
        self.dataSource = self
        
        self.register(KZMessageOfSystemCell.self, forCellReuseIdentifier: "cell")
    }
}


// MARK: ------ tableview datasource
extension KZMessageOfSystemView: UITableViewDelegate, UITableViewDataSource {
    
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return items.count
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell: KZMessageOfSystemCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! KZMessageOfSystemCell
        return cell
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

        return 10
    }
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        
        return UIView()
    }
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 0
    }
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        return UIView()
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
    }
}
